package com.atguigu.util;

import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * TODO
 *
 * @Description
 * @Author dubao
 * @Date 2023年 05月 25日 23:40
 **/
public class DateUtils {

    public static void main(String[] args) {

        test();

    }

    public static void test() {

        String currentDate = "20230525";
        // 将所有的满足条件的日期存入到该数组
        List<String> dateList = new ArrayList<>();
        dateList.add("20230523");
        dateList.add("20230523");
        dateList.add("20230522");
        dateList.add("20230521");

        // 连续的次数
        int time = 1;
        int n = 1;
        while (dateList.contains(getLastDate(currentDate, n))) {
            time++;
            n++;
        }

        System.out.println(time);
    }

    /**
     *  根据当前日期，获取前 n 天的字符串类型的日期
     * @param currentDate 当前日期，如 20230101
     * @param n 当前日期前n天
     * @return 当前日期前n天，格式为 yyyyMMdd
     */
    public static String getLastDate(String currentDate, int n) {

        Date date = DateUtil.parse(currentDate);
        DateTime lastDateTime  = DateUtil.offset(date, DateField.DAY_OF_MONTH, -n);
        String dateStr = DateUtil.formatDate(lastDateTime);
        dateStr = dateStr.replace("-", "");

        return dateStr;
    }


}
